No functionality change at this time. I've split _LIBCPP_VISIBLE up into two flags: _LIBCPP_TYPE_VIS and _LIBCPP_FUNC_VIS. This is in preparation for taking advantage of clang's new __type_visibility__ attribute. git-svn-id: https://llvm.org/svn/llvm-project/libcxx/trunk@176593 91177308-0d34-0410-b5e6-96231b3b80d8 
diff --git a/include/utility b/include/utility index 514ce17..2df4b36 100644 --- a/include/utility +++ b/include/utility 
@@ -205,7 +205,7 @@  return _VSTD::move(__x);  }   -struct _LIBCPP_VISIBLE piecewise_construct_t { }; +struct _LIBCPP_TYPE_VIS piecewise_construct_t { };  #if defined(_LIBCPP_HAS_NO_CONSTEXPR) || defined(_LIBCPP_BUILDING_UTILITY)  extern const piecewise_construct_t piecewise_construct;// = piecewise_construct_t();  #else @@ -213,7 +213,7 @@  #endif    template <class _T1, class _T2> -struct _LIBCPP_VISIBLE pair +struct _LIBCPP_TYPE_VIS pair  {  typedef _T1 first_type;  typedef _T2 second_type; @@ -419,7 +419,7 @@    #ifndef _LIBCPP_HAS_NO_RVALUE_REFERENCES   -template <class _Tp> class _LIBCPP_VISIBLE reference_wrapper; +template <class _Tp> class _LIBCPP_TYPE_VIS reference_wrapper;    template <class _Tp>  struct ___make_pair_return @@ -461,36 +461,36 @@  #endif // _LIBCPP_HAS_NO_RVALUE_REFERENCES    template <class _T1, class _T2> - class _LIBCPP_VISIBLE tuple_size<pair<_T1, _T2> > + class _LIBCPP_TYPE_VIS tuple_size<pair<_T1, _T2> >  : public integral_constant<size_t, 2> {};    template <class _T1, class _T2> - class _LIBCPP_VISIBLE tuple_size<const pair<_T1, _T2> > + class _LIBCPP_TYPE_VIS tuple_size<const pair<_T1, _T2> >  : public integral_constant<size_t, 2> {};    template <class _T1, class _T2> -class _LIBCPP_VISIBLE tuple_element<0, pair<_T1, _T2> > +class _LIBCPP_TYPE_VIS tuple_element<0, pair<_T1, _T2> >  {  public:  typedef _T1 type;  };    template <class _T1, class _T2> -class _LIBCPP_VISIBLE tuple_element<1, pair<_T1, _T2> > +class _LIBCPP_TYPE_VIS tuple_element<1, pair<_T1, _T2> >  {  public:  typedef _T2 type;  };    template <class _T1, class _T2> -class _LIBCPP_VISIBLE tuple_element<0, const pair<_T1, _T2> > +class _LIBCPP_TYPE_VIS tuple_element<0, const pair<_T1, _T2> >  {  public:  typedef const _T1 type;  };    template <class _T1, class _T2> -class _LIBCPP_VISIBLE tuple_element<1, const pair<_T1, _T2> > +class _LIBCPP_TYPE_VIS tuple_element<1, const pair<_T1, _T2> >  {  public:  typedef const _T2 type;